/**
 * PLM项目的passport_biz_config.js
 * 用户通行证业务逻辑统一入口点
 */

// 实现基本功能的PassportBiz，不依赖其他模块
const PassportBiz = {
  // 获取token  
  getToken() {
    try {
      return wx.getStorageSync('CCMINI_TOKEN') || null;
    } catch (e) {
      console.error('获取token失败', e);
      return null;
    }
  },

  // 设置token
  setToken(token) {
    if (!token) return;
    try {
      wx.setStorageSync('CCMINI_TOKEN', token);
    } catch (e) {
      console.error('设置token失败', e);
    }
  },

  // 获取user id 
  getUserId() {
    const token = this.getToken();
    if (!token) return '';
    return token.id || '';
  },

  // 获取user name 
  getUserName() {
    const token = this.getToken();
    if (!token) return '';
    return token.name || '';
  },

  // 登录状态接口
  isLogin() {
    const token = this.getToken();
    if (!token || !token.id || !token.name) return false;
    return true;
  },

  // 管理员判断
  isAdmin() {
    const token = this.getToken();
    if (!token) return false;
    return (token && token.type && token.type == 1) ? true : false;
  },
  
  // 清除token
  clearToken() {
    try {
      wx.removeStorageSync('CCMINI_TOKEN');
    } catch (e) {
      console.error('清除token失败', e);
    }
  },

  // 获取用户详情
  async getMyDetailWithCache() {
    // 简化实现，直接返回token信息
    return this.getToken();
  },

  // 静默登录
  async loginSilence(that = null, backUrl = '', successCallback = null) {
    if (this.isLogin()) {
      if (that) {
        that.setData({
          isLogin: true
        });
      }
      return true;
    }
    return false;
  },

  // 强制静默登录
  async loginSilenceMust(that) {
    return this.loginSilence(that);
  }
};

module.exports = PassportBiz; 